/**
 * 全局请求方法 方便管理
 */
const publicRequestDomain = 'https://xcpf.hwkj.fit/xcpf/api/' //统一请求域名
const filePrefix = 'https://xcpf.hwkj.fit/xcpf/' //统一图片视频访问前缀
import projectConfig from '@/common/projectConfig.js' // 引入全局常量
/**
 * 搭配同步请求用
 * url  请求链接
 * isUserId  是否url加上登录用户ID
 * data   请求参数
 * type  请求方式
 * header  请求头
 */
const request = (url = '', isUserId = false, data = {}, type = '', header = '') => {
	uni.showLoading({
		title: "正在执行中..."
	})
	url = isUserId ? url + projectConfig.userId : url
	if (header == 'fromToken') {
		header = {
			'content-Type': 'application/x-www-form-urlencoded',
			'token': projectConfig.token
		}
	} else if (header == 'from') {
		header = {
			'content-Type': 'application/x-www-form-urlencoded'
		}
	} else if (header == 'jsonToken') {
		header = {
			'content-Type': 'application/json',
			'token': projectConfig.token
		}
	} else if (header == 'json') {
		header = {
			'content-Type': 'application/json'
		}
	}
	return new Promise((resolve, reject) => {
		uni.request({
			method: type,
			url: publicRequestDomain + url,
			data: data,
			header: header,
		}).then((response) => {
			setTimeout(function() {
				uni.hideLoading();
			}, 200);
			if (response[1].data.token === "error") {
				uni.showToast({
					title: response[1].data.message,
					icon: 'none'
				})
				setTimeout(function() {
					uni.redirectTo({
						url: '/pages/user/new_login/new_login'
					})
				}, 800);
				console.log(response[1].data.message, "——>回调>>>>——>>>>>>>>——---->>>>>>>", response[
					1])
			} else {
				resolve(response);
				console.log("成功回调>>>>——>>>>>>>>>——---->>>>>>>", response[1])
			}
		}).catch(error => {
			uni.hideLoading();
			reject(error)
			console.log("失败回调>>>>——>>>>>>>>——---->>>>>>>", error)
		})
	});
}
const TYPE_POST = 'POST' // 请求方式
export default {
	//图片视频访问前缀
	filePrefix(){
		return filePrefix
	},
	//文件请求
	addFile(){
		return publicRequestDomain + 'file/upload'	
	},
	
	// 获取验证码
	getVerifiCode(){
		return publicRequestDomain + 'user/getVerifiCode'
	},
	// 普通用户登录
	login(data){
		return request('user/login', false, data, TYPE_POST, 'from')
	},
	// 微信授衔登录
	wxLogin(data){
		return request('user/WXLogin', false, data, TYPE_POST, 'from')
	},
	// 用户密码修改
	updateUserPossword(data){
		return request('user/updatePassword/', true, data, TYPE_POST, 'fromToken')
	},
	// 获取所有用户
	getUserAll(data){
		return request('user/getAll/', true, data, TYPE_POST, 'fromToken')
	},
	// 修改用户
	updateUser(data){
		return request('user/update/', true, data, TYPE_POST, 'jsonToken')
	},
	// 注册用户
	addUser(data){
		return request('user/register', false, data, TYPE_POST, 'json')
	},
	// 删除用户 暂未启用
	deleteUser(data){
		return request('user/delete', false, data, TYPE_POST, 'from')
	},
	
	// 获取所有学习书籍
	getRequestLearnAll(data) {
		return request('learn/getAll', false, data, TYPE_POST, 'from')
	},
	// 添加学习书籍
	addLearn(data) {
		return request('learn/add/', true, data, TYPE_POST, 'jsonToken')
	},
	// 修改学习书籍
	updateLearn(data) {
		return request('learn/update/', true, data, TYPE_POST, 'jsonToken')
	},
	// 删除学习书籍
	deleteLearn(data) {
		return request('learn/remove/', true, data, TYPE_POST, 'fromToken')
	},

	// 案例搜索
	caseSearch(data){
		return request('law_case/search', false, data, TYPE_POST,'from')
	},
	// 获取所有案例分类
	getClassAll(data) {
		return request('label/getAll', false, data, TYPE_POST,'from')
	},
	// 获取所有案例
	getCaseAll(data) {
		return request('law_case/getAll', false, data, TYPE_POST, 'from')
	},
	// 添加案例
	addCase(data) {
		return request('law_case/add/', true, data, TYPE_POST, 'jsonToken')
	},
	// 修改案例
	updateCase(data) {
		return request('law_case/update/', true, data, TYPE_POST, 'jsonToken')
	},
	// 删除案例
	deleteCase(data) {
		return request('law_case/remove/', true, data, TYPE_POST, 'fromToken')
	},
	
	// 获取所有小剧场
	getTheater(data){
		return request('law_theater/getAll', false, data, TYPE_POST, 'from')
	},	
	// 添加小剧场
	addTheater(data){
		return request('law_theater/add/', true, data, TYPE_POST, 'jsonToken')
	},
	// 修改小剧场
	updateTheater(data){
		return request('law_theater/update/', true, data, TYPE_POST, 'jsonToken')
	},
	// 删除小剧场
	deleteTheater(data){
		return request('law_theater/remove/', true, data, TYPE_POST, 'fromToken')
	},
	
	// 获取所有服务
	getService(data){
		return request('law_serve/getAll', false, data, TYPE_POST, 'from')
	},
	// 添加服务
	addService(data){
		return request('law_serve/add/', true, data, TYPE_POST, 'jsonToken')
	},
	// 修改服务
	updateService(data){
		return request('law_serve/update/', true, data, TYPE_POST, 'jsonToken')
	},
	// 删除服务
	deleteService(data){
		return request('law_serve/remove/', true, data, TYPE_POST, 'fromToken')
	},
	
	// 获取首页轮播图
	getAdHome(data){
		return request('ad/validAD', false, data, TYPE_POST, 'from')
	},
	// 获取所有轮播图
	getAd(data){
		return request('ad/getAll/', true, data, TYPE_POST, 'fromToken')
	},
	// 添加轮播图
	addAd(data){
		return request('ad/add/', true, data, TYPE_POST, 'jsonToken')
	},
	// 修改轮播图
	updateAd(data){
		return request('ad/update/', true, data, TYPE_POST, 'jsonToken')
	},
	// 删除轮播图
	deleteAd(data){
		return request('ad/remove/', true, data, TYPE_POST, 'fromToken')
	},
	
	// 获取所有题库
	getQuestionAll(data){
		return request('topic/getAll/88888', false, data, TYPE_POST, 'from')
	},
	// 题库提交
	addQuestion(data){
		return request('topic/submit/88888', false, data, TYPE_POST, 'jsonToken')
	},
}
